home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 27 / CU Amiga Magazine's Super CD-ROM 27 (1998)(EMAP Images)(GB)[!][issue 1998-10].iso / CUCD / PowerPC / vbcc / machines / amigawos / libsrc / stdio / _close.c < prev    next >
C/C++ Source or Header  |  1998-08-02  |  604b  |  37 lines

  1. /*
  2. ** vbcc-PowerOpen/WarpOS Lowlevel close() function
  3. **
  4. ** v0.1 31.07.98 phx
  5. */
  6.  
  7. #include <stdio.h>
  8. #include <errno.h>
  9.  
  10. #include <powerpc/powerpc.h>
  11. #include <clib/powerpc_protos.h>
  12.  
  13. extern APTR DOSBase;
  14.  
  15.  
  16. int _close(char *fh)
  17. {
  18.   struct PPCArgs pa;
  19.  
  20.   if (!fh) {
  21.     errno = EBADF;
  22.     return (-1);
  23.   }
  24.   pa.PP_Code = DOSBase;
  25.   pa.PP_Offset = -36;  /* _LVOClose */
  26.   pa.PP_Flags = pa.PP_StackSize = 0;
  27.   pa.PP_Stack = NULL;
  28.   pa.PP_Regs[PPREG_D1] = (ULONG)fh;
  29.   pa.PP_Regs[PPREG_A6] = (ULONG)DOSBase;
  30.   Run68k(&pa);
  31.   if (!pa.PP_Regs[PPREG_D0]) {
  32.     errno = EIO;
  33.     return (-1);
  34.   }
  35.   return (0);
  36. }
  37.